The stride of an array (also referred to as increment, pitch, or step size) refers to the distance between two memory locations that the successive array elements of the array begin. Many scientific applications have arrays with large strides. These occur naturally when for example:                Accessing matrices (or 2D/3D arrays). If one accesses the elements of the same column sequentially such as A[0][3], A[1][3], A[2][3] . . . .        Accessing the same number of structures organized as Array of Structures (AoS) such as A[0]•weight, A[1]•weight, A[2]•weight . . . .        
Such strided access patterns are common in high performance computing (HPC) and scientific computing application due to the very nature of algorithms used. Many of these strided-accesses have large stride values, usually greater than the length of a cache line (e.g., 64 bytes). Such access do not have spatial locality. That is, if a data element X is accessed, the data elements that are close to data element X are no more likely to be accessed than the data elements far away from data element X.